/*************************************************************************************************************************
Multi-Include-Prevent Segment
**************************************************************************************************************************/
#ifndef GPIOABST_H_
#define GPIOABST_H_

/*************************************************************************************************************************
Include File Segment
**************************************************************************************************************************/
#include "IF_GxwLib.h"
#include "IF_GPIO.h"
#include "IF_GpioAbst.h"
/*************************************************************************************************************************
Type Segment
**************************************************************************************************************************/ 


/*************************************************************************************************************************
Define Segment
**************************************************************************************************************************/



/*************************************************************************************************************************
Enum Segment
**************************************************************************************************************************/

/*************************************************************************************************************************
Union Segment
**************************************************************************************************************************/

/*************************************************************************************************************************
Structure Segment
**************************************************************************************************************************/
typedef const struct
{
	uint8 Port;
	uint8 Pin;
	uint8 Dir;
	uint8 PullUp;
	uint8 InitLv;
}GpioCfgStruct;

static GpioCfgStruct GpioCfgTable[] =
{
	/*----------------- SCU I/O输入 ---------------*/
	{
    	PHOTO_INTER_1_PORT,     /* Port   */
    	PHOTO_INTER_1_PIN,      /* Pin    */
    	PHOTO_INTER_1_MODE,     /* Mode    */
    	PHOTO_INTER_1_NO_PULL,  /* PullUpDn */
    	PHOTO_INTER_1_INIT_LV,  /* InitLv */
	},

	{
    	PHOTO_INTER_2_PORT,     /* Port   */
    	PHOTO_INTER_2_PIN,      /* Pin    */
    	PHOTO_INTER_2_MODE,     /* Mode    */
    	PHOTO_INTER_2_NO_PULL,  /* PullUpDn */
    	PHOTO_INTER_2_INIT_LV,  /* InitLv */
	},

	{
    	PHOTO_INTER_3_PORT,     /* Port   */
    	PHOTO_INTER_3_PIN,      /* Pin    */
    	PHOTO_INTER_3_MODE,     /* Mode    */
    	PHOTO_INTER_3_NO_PULL,  /* PullUpDn */
    	PHOTO_INTER_3_INIT_LV,  /* InitLv */
	},

	{
    	PHOTO_INTER_4_PORT,     /* Port   */
    	PHOTO_INTER_4_PIN,      /* Pin    */
    	PHOTO_INTER_4_MODE,     /* Mode    */
    	PHOTO_INTER_4_NO_PULL,  /* PullUpDn */
    	PHOTO_INTER_4_INIT_LV,  /* InitLv */
	},

	{
    	PARK_SW_PORT,     		/* Port   */
    	PARK_SW_PIN,      		/* Pin    */
    	PARK_SW_MODE,     		/* Mode    */
    	PARK_SW_NO_PULL,  		/* PullUpDn */
    	PARK_SW_INIT_LV,  		/* InitLv */
	},

	{
		IG_PORT,
		IG_PORT_PIN,
		IG_PORT_MODE,
		IG_PORT_NO_PULL,
		IG_PORT_INIT_LV,
	},
	
	/*----------------- SCU I/O输出 ---------------*/	
	{
		CAN_EN_PORT,     		/* Port   */
		CAN_EN_PIN,        		/* Pin    */
		CAN_EN_MODE,     		/* Mode    */
		CAN_EN_NO_PULL,  		/* PullUpDn */		
		CAN_EN_EN_INIT_LV,  	/* InitLv */
	},
	
	{
		PWR_AD_EN_PORT,     	/* Port   */
		PWR_AD_EN_PIN,        	/* Pin    */
		PWR_AD_EN_MODE,     	/* Mode    */
		PWR_AD_EN_NO_PULL,  	/* PullUpDn */	
		PWR_AD_EN_INIT_LV,  	/* InitLv */
	},
	
	{
		PWR_EN_PORT,     		/* Port   */
		PWR_EN_PIN,        		/* Pin    */
		PWR_EN_MODE,     		/* Mode    */
		PWR_EN_NO_PULL,	  		/* PullUpDn */
		PWR_EN_INIT_LV,  		/* InitLv */
	},

	/*----------------- SCU ADC ---------------*/

	{
    	UBD_VOLT_AN_PORT,       /* Port   */
    	UBD_VOLT_AN_PIN,        /* Pin    */
    	UBD_VOLT_AN_MODE,       /* Mode   */
    	UBD_VOLT_AN_NO_PULL,    /* PullUpDn */
    	UBD_VOLT_AN_INIT_LV,   	/* InitLv */
	},

	{
		PARK_AN_PORT,     		/* Port   */
		PARK_AN_PIN,        	/* Pin    */
		PARK_AN_MODE,       	/* Mode   */
		PARK_AN_NO_PULL,    	/* PullUpDn */
		PARK_AN_INIT_LV,  		/* InitLv */
	},

	{
    	VDD_5V_AN_PORT,       	/* Port   */
    	VDD_5V_AN_PIN,        	/* Pin    */
    	VDD_5V_AN_MODE,       	/* Mode   */
    	VDD_5V_AN_NO_PULL,    	/* PullUpDn */
    	VDD_5V_AN_INIT_LV,    	/* InitLv */
	},

	
};

/*************************************************************************************************************************
Function Declare Segment
**************************************************************************************************************************/


#endif
